
package rpg.view;

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ButtonGroup;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import rpg.narrativa.Narrativa;

/**
 * PanelParadaCenario
 *
 * @author Gabriel Bronzatti Moro
 * @since 27/02/2013
 * @version 0.1
 */
public class PanelParadaCenario extends JPanel {

    private JLabel lblTitulo;
    private JRadioButton seguir;
    private JRadioButton verInventario;
    private JRadioButton verificarStatus;
    private JRadioButton dormir;
    private JRadioButton procurarRecurso;
    private JPanel radioButtons;
    private JButton btnIr;
    private ButtonGroup grupo;
    private Narrativa referNarrativa;

    /**
     * Método construtor responsável pela inicialização dos componentes de
     * interfaces...
     *
     * @param narrativa
     */
    public PanelParadaCenario(Narrativa narrativa) {
        this.referNarrativa = narrativa;
        this.lblTitulo = new JLabel("Parada Cenário");
        this.grupo = new ButtonGroup();

        this.seguir = new JRadioButton("Seguir em frente");
        this.verInventario = new JRadioButton("Ver inventário e usar Item");
        this.verificarStatus = new JRadioButton("Verificar Status");
        this.dormir = new JRadioButton("Dormir");
        this.procurarRecurso = new JRadioButton("Procurar Recurso no cenário");

        this.grupo.add(this.seguir);
        this.grupo.add(this.verInventario);
        this.grupo.add(this.verificarStatus);
        this.grupo.add(this.dormir);
        this.grupo.add(this.procurarRecurso);

        this.radioButtons = new JPanel();
        this.radioButtons.setLayout(new GridLayout(5, 1));
        this.radioButtons.add(this.seguir);
        this.radioButtons.add(this.verInventario);
        this.radioButtons.add(this.verificarStatus);
        this.radioButtons.add(this.dormir);
        this.radioButtons.add(this.procurarRecurso);

        this.btnIr = new JButton("Ir", new ImageIcon(getClass().getResource("/img/ir_icon.png")));
        this.btnIr.setSize(20, 20);
        setLayout(new GridLayout(3, 1));
        add(this.lblTitulo);
        add(this.radioButtons);
        add(this.btnIr);
        setSize(200, 200);

    }

    /**
     * Classe privada destinada a implementar a interface listener para que
     * através dela o objeto listener seja registrado nos possíveis eventos...
     * JButtons Classe TrataIr é responsável por verificar o jRadioButton selecionado 
     * pelo usuário, para enviar para a camada de regra de negócio a ação escolhida pelo usuário...
     *
     */
    private class TrataIr implements ActionListener {

        @Override
        public void actionPerformed(ActionEvent e) {
            boolean condition = false;

            if (seguir.isSelected()) {
                referNarrativa.getEstacao().paradaCenario(1, null, null);
            }
            if (verInventario.isSelected()) {
                referNarrativa.getEstacao().paradaCenario(2, null, null);
            }
            if (verificarStatus.isSelected()) {
                referNarrativa.getEstacao().paradaCenario(3, null, null);
            }
            if (dormir.isSelected()) {
                referNarrativa.getEstacao().paradaCenario(4, null, null);
            }
            if (procurarRecurso.isSelected()) {
                referNarrativa.getEstacao().paradaCenario(5, null, null);
            }
        }
    }
}
